import { Popconfirm, PopconfirmProps } from "antd";
import { ReactNode } from "react";

export interface SecondConfirmProps {
  /**点击确认之后的回调 */
  onOk?: () => any;
  /**标题，默认为 “删除” */
  title?: string;
  /**描述，默认为 "确认执行此操作吗，此操作不可恢复" */
  description?: string;
  /**确认按钮的文字 */
  okText?: string;
  /**取消按钮的文字 */
  cancelText?: string;
  /**其他该组件的参数。如果多处指定，此处的优先级高 */
  antdProps?: PopconfirmProps;
  /**孩子 */
  children?: ReactNode;
}
/**二次确认是否执行某操作。 对antd的Popconfirm 一层简单封装 */
export default function SecondConfirm({ onOk, title, description, antdProps, okText, cancelText, children }: SecondConfirmProps) {
  return (
    <Popconfirm
      title={title || "注意"}
      description={description || "确认执行此操作吗，此操作不可恢复"}
      onConfirm={onOk}
      okText={okText || "确认"}
      cancelText={cancelText || "取消"}
      okType="danger"
      {...antdProps}
    >
      {children}
    </Popconfirm>
  );
}
